#include <iostream>
#include <string>
#include <sstream>
using namespace std;

int tt[9999];
int tsum=0;
int et[9999];
int esum=0;
int ans;

string itostr(int x){
	stringstream ss;
	ss<<x;
	return ss.str();
}

bool istrue(int x){
	string str=itostr(x);
	for(int i=0;i<3;i++){
		char tmp=str[i];
		if(!(tmp=='0'||tmp=='1'||tmp=='2'||tmp=='5'||tmp=='6'||tmp=='8'||tmp=='9')){
			return false;
		}
	}
	char tmp=str[3];
	if(!(tmp=='1'||tmp=='2'||tmp=='5'||tmp=='6'||tmp=='8'||tmp=='9')){
		return false;
	}
	return true;
}

int value(int x){
	string str=itostr(x);
	int change[4];
	for(int i=3;i>=0;i--){
		char tmp=str[i];
		if(tmp=='6'){
			change[3-i]=9;
		}
		else if(tmp=='9'){
			change[3-i]=6;
		}
		else{
			change[3-i]=tmp-48;
		}
	}
	int sum=change[0]*1000+change[1]*100+change[2]*10+change[3];
	return sum-x;
}

int main(){
	for(int i=1001;i<9999;i++){
		if(istrue(i)){
			int tmp=value(i);
			if((tmp>-299)&&(tmp<-200)){
				tt[tsum]=i;
				tsum++;
			}
			else if(tmp>800&&tmp<899){
				et[esum]=i;
				esum++;
			}
		}
	}

	for(int i=0;i<tsum;i++){
		for(int j=0;j<esum;j++){
			int profit=value(et[j])+value(tt[i]);
			if(profit==558){
				cout<<tt[i];
				return 0;
			}
		}
	}
	return 0;	
} 
